﻿#define  _CRT_SECURE_NO_WARNINGS 1
//1.打印1-100的奇数
#include <stdio.h>
//int main()
//{
//	int i = 0;
//	for (i = 1; i <= 100; i+=2)
//	{
//		printf("%d ", i);
//	}
//
//	return 0;
//}


//2.输⼊2个整数m和n，计算m和n的最⼤公约数，并打印出结果。
//int main()
//{
//	int m = 0;
//	int n = 0;
//	scanf("%d %d", &m, &n);
//	int k = (m > n ? n : m);//计算找出m和n的较小值k，因为最大公约数最大是m与n的最小值
//	//这个意思说如果m>n成立则取n赋值给k 如果不成立取m赋值给k
//	while (1)
//	{
//		if (m % k == 0 && n % k == 0)//每次拿k试除m和n，如果不能同时整除，则k--，继续试除
//		{
//			break;//如果可以则跳出循环
//		}
//		k--;
//	}
//	printf("%d\n", k);
//	return 0;
//} 以上是法一

//法二
//辗转相除法：
//辗转相除法也称为欧⼏⾥得算法，是⼀种⽤来求两个正整数最⼤公约数的⽅法。它基于⼀个简单的数
//学原理：如果 a 和 b 是两个正整数，且 a > b ，则a和b的最⼤公约数等于 b 和 a% b （ a 除以 b
//所得的余数）的最⼤公约数。
//具体的，辗转相除法的步骤如下：
//1. 如果 a < b ，将 a 和 b 交换。
//	2. ⽤ a 除以 b ，得到商 q 和余数 r ，即 a = bq + r 。
//	3. 如果 r 等于0，则 b 就是最⼤公约数。
//	4. 如果 r 不等于0，则再⽤ b 除以 r ，得到商 q1 和余数 r1 ，即 b = rq1 + r1 。
//	5. 重复步骤3和步骤4，直到余数等于0为⽌。
//	6. 最后的除数就是两个数的最⼤公约数。
//	假设我们已经知道a和b的最⼤公约数为 d ，即 d 是 a 和 b 的公约数，那么根据带余除法， a =
//	bq + r ，那么 d 也是 b 和 r 的公约数，因为 d 能整除 a 和 b ，所以 d 也能整除 a - bq ，
//	即 d 也能整除 r 。
//	最后，通过数学归纳法证明，在辗转相除的过程中，每次都将较⼤的数除以较⼩的数取余数，余数⽐
//	上⼀轮操作的被除数⼩，最终余数为0时，较⼩的数就是 a 和 b 的最⼤公约数。因此，辗转相除法
//	能够正确地求出 a 和 b 的最⼤公约数。
//不断用余数替换被除数，直到余数为0，此时被除数就是最大公约数
//int main()
//{
//	int m = 0;
//	int n = 0;
//	scanf("%d %d", &m, &n);
//	int k = 0;
//	//当n不能整除m，即k!=0，更新两个最值重复步骤计算n与m%n的最大公约数
//	while (k = m % n)//当m%n的余数k不为0的时候，继续循环
//	{
//		m = n;//把n的值赋给m，变为新的被除数
//		n = k;//把余数k赋值给n，变为新的除数
//		//当余数为0的时候，n就是最大公约数，直接输出
//	}
//	printf("%d\n", n);
//	return 0;
//}







//3.输⼊三个整数a, b, c，判断由a, b, c作为三条边组成的三⻆形，如果不能组成三⻆形则输出：⾮三⻆
//形；如果是三⻆形，再继续判断，如果是等边三⻆形，则输出：等边三⻆形；如果是等腰三⻆形，则
//输出：等腰三⻆形；否则输出普通三⻆形。
//int main()
//{
//	int a = 0;
//	int b = 0;
//	int c = 0;
//	scanf("%d %d %d", &a, &b, &c);
//	if (a + b > c && a + c > b && b + c > a)//三角形任意两边大于第三边
//	{
//		if (a == b && b == c)//等边三角形三边相等
//		{
//			printf("等边三角形\n");
//		}
//		else if (a == b || b == c || a == c)//只有两条边相等
//		{
//			printf("等腰三角形");
//		}
//		else
//		{
//			printf("普通三角形\n");//都不是以上两种情况就是普通三角形
//		}
//	}
//	else
//	{
//		printf("非三角形\n");//不能构成三角形
//	}
//
//	return 0;
//}



